6.1.1 -
Les systèmes d’exploitation
Microsoft :
6.1.1.A - Les systèmes d’exploitation
Windows 95/98/Me :
L’étude de ce type d’environnement pour stations de
travail débute par un constat : ces systèmes
d’exploitation n’ont pas été conçus pour
être sécurisés. Le danger est dès lors double pour
les administrateurs et les utilisateurs finaux peu avertis des problèmes
de sécurité. Ces systèmes d’exploitation sont
aisés à configurer et il y a peu de chances que les personnes les
plus susceptibles de réaliser cette configuration prennent les
précautions appropriées.
Heureusement, la simplicité
de ces systèmes d’exploitation fonctionne également à
leur avantage en terme de sécurité. En effet, ces systèmes
d’exploitation n’étant pas prévus pour être de
réels systèmes multi-utilisateurs, ils ne comprennent que des
fonctions à distance extrêmement limitées. Il est impossible
d’exécuter des commandes à distance sur ce type de
système d’exploitation et les accès distants à la
base de registre, véritable cœur de tout système Microsoft,
ne sont possibles qu’au travers d’un dispositif de
sécurité comme Windows NT/2000 ou Novell NetWare. Le
fonctionnement de ces systèmes d’exploitation s’appuie sur un
mécanisme de sécurité appliqué au niveau des
partages disponibles et non au niveau utilisateur.
La
sécurité de ces systèmes d’exploitation peut
être compromise par les deux grands types d’attaques
suivants :
- erreur de configuration ;
- exécution de code par l’utilisateur et à son insu
permettant d’obtenir un accès physique à la station de
travail.
6.1.1.A.1 - Attaques à distance :
6.1.1.A.1.a - Connexion directe aux ressources
partagées :
- - Vulnérabilité du partage de fichiers et
d’imprimante :
Le partage des fichiers et
imprimantes d’un système d’exploitation Windows 95/98 est
particulièrement vulnérable aux attaques externes.
S’il n’existe pas d’attaque connue permettant de tirer
partie des imprimantes partagées (autre que la possibilité
d’imprimer !!!), un certain nombre d’attaque tirant partie des
vulnérabilités du partage des fichiers de ces systèmes
d’exploitation sont désormais parfaitement connues et
utilisées.
L’attaque la plus connue et exploitant cette
vulnérabilité est mise en œuvre par l’outil
Légion du groupe Rhino9 qui à l’issue d’un balayage du
réseau permettant la détection des ressources partagées et
une attaque des mots de passe par dictionnaire permet l’accès aux
ressources partagées.
- - Hachage de l’authentification :
Un
dysfonctionnement cryptographique existe toujours sur les systèmes
d’exploitation étudiés. Lors d’une requête de
connexion à distance et lorsque le partage de fichiers est activé,
ces systèmes renvoient toujours la même
« question » durant 15 minutes. Il faut noter que ces
systèmes d’exploitation utilisent une combinaison du nom de
l’utilisateur (transmis en clair) et de cette
« question » pour hacher (mélanger d’un point
de vue cryptographique) le mot de passe de l’utilisateur distant. Durant
la période de 15 minutes, le mot de passe haché reste
inchangé et l’envoi de requêtes correctement formées
et utilisant ce mot de passe haché permet d’accéder à
l’ensemble des ressources partagées.
- - Ressources Windows 95/98/ME accessibles via le réseau
commuté :
Les systèmes
d’exploitation Windows 95/98/SE disposent du programme Dial-UP Server
permettant de connecter le poste de travail à un réseau distant
via le réseau téléphonique mais également de
transformer celui-ci en serveur accessible par le réseau commuté.
L’application des procédures décrites ci-dessus permettent
de recenser et de deviner le cas échant les mots de passe des ressources
partagées situées à l’autre bout du modem.
- - Accès à distance à la base de
registres :
Les systèmes d’exploitation
Windows 95/98 ne permettent pas en standard l’accès à
distance à leur base de registres. Une telle possibilité doit
être explicitement installée par l’administrateur via
l’outil Remote Registry Service et exige l’utilisation d’un
système annexe (Windows NT ou Windows 2000) d’identification de
l’utilisateur.
6.1.1.A.1.b - Chevaux de Troie :
De nombreux chevaux de Troie existent permettant d’installer des
portes dérobées sur les systèmes d’exploitation
Windows 95/98/SE. Les plus connus sont :
- Back Orifice ;
- NetBus ;
- SubSeven.
6.1.1.A.1.c - Déni de
service :
Il existe également de nombreux outils permettant un déni de
service des stations sous environnement Windows 95/98/SE. Les plus connus
sont :
- ping of the death ;
- teardrop ;
- land ;
- winnuke.
Ces outils permettent de rendre inopérant le
poste de travail attaqué.
6.1.1.A.2 - Attaques locales :
Il existe un certain nombre de vulnérabilités des
systèmes d’exploitation Windows 95/98/ME basées sur un
accès possible à la station de travail.
6.1.1.A.2.a - Redémarrage du
système :
Les systèmes d’exploitation Windows 95/98/Me ne connaissent
pas la notion de connexion sécurisée et présentent la
possibilité d’un redémarrage de la machine permettant
ensuite l’accès quasi complet à toutes les ressources du
système.
6.1.1.A.2.b - Lancement automatique d’un
programme sur CD-ROM :
Les systèmes d’exploitation Windows 95/98/Me permettent
l’exécution automatique d’un programme sur CD-ROM (fonction
AutoRun) même lorsque l’économiseur d’écran est
en fonctionnement. Cette vulnérabilité permet notamment la mise en
œuvre de l’ensemble des chevaux de Troie définis au paragraphe
6.1.1.A.1.b - .
6.1.1.A.2.c - Faiblesse de la protection de
l’économiseur d’écran :
Les systèmes d’exploitation Windows 95/98/Me stockent le mot
de passe de l’économiseur d’écran dans une clé
bien connue de la base de registres locale. Il existe une pléthore
d’outils (ex : 95sscrk) permettant le déchiffrage de ce mot de
passe et par là même l’accès à l’ensemble
des ressources de la machine.
6.1.1.A.2.d - Stockage des mots de passe en
mémoire :
Les systèmes d’exploitation Windows 95/98/Me stockent un
certain nombre de mots de passe en mémoire. De nombreux outils (ex :
Revelation, ShoWin, Behind the Astericks ...) permettent d’afficher le mot
de passe en clair en lieu et place des traditionnelles étoiles.
6.1.1.A.2.e - Stockage des mots de
passe :
Les systèmes d’exploitation Windows 95/98/Me stockent la
liste des mots de passe chiffrés dans des fichiers accessibles à
l’ensemble des utilisateurs. Le simple accès à une station
et l’application d’une des méthodes évoquées
ci-dessus permet la récupération des dits fichiers.
L’utilisation des innombrables outils existants permet de retrouver
l’ensemble des mots de passe.
6.1.1.B - Le système d’exploitation
Windows NT4:
Windows NT4 représente l’évolution des systèmes
d’exploitation Windows 95/98/Me vers un système
d’exploitation sécurisé. Ce système
d’exploitation est encore installé dans un grand nombre
d’entités, le passage à Windows 2000 ne se faisant
qu’au gré des renouvellements des
matériels.
Les vulnérabilités de ce
système d’exploitation peuvent être regroupées en
quatre grandes familles :
- les vulnérabilités permettant l’obtention du statut
d’administrateur ;
- les vulnérabilités permettant les dénis de
service ;
- les vulnérabilités permettant la recherche
d’informations présentes sur d’autres serveurs ;
- les vulnérabilités permettant l’effacement des traces
d’effraction.
6.1.1.B.1 - L’obtention du statut
d’administrateur :
Les systèmes Windows NT se caractérisent par la
nécessité d’obtenir le statut d’utilisateur
« Administrateur » pour pouvoir avoir accès aux
différentes ressources de la machine.
6.1.1.B.1.a - La recherche des mots de passe
usuels :
Il existe un certain nombre de noms d’utilisateurs
« standard » sous Windows NT (administrateur, backup,
arcserve ...) et l’utilisation de mots de passe classiques
(« password », « nom utilisateur », ...)
présente une vulnérabilité permettant l’obtention des
droits associés au compte ainsi déchiffré.
6.1.1.B.1.b - La transmission des valeurs de
hachage :
Une autre vulnérabilité inhérente à la
transmission des mots de passe chiffrés Windows NT est la
possibilité de transmettre directement à une station Windows NT le
mot de passe chiffré d’un utilisateur valide sans connaître
son équivalent en clair.
6.1.1.B.1.c - L’augmentation des droits
d’un utilisateur :
Il existe quelques failles permettant d’ajouter un utilisateur valide
dans le groupe des administrateurs sans posséder la connaissance du mot
de passe Administrateur. Les outils les plus connus sont getadmin, sechole ou
hk. Ce dernier outil utilise une faille des ports LPC (Local Procedure Call) et
permet de faire en sorte que le processus client se déguise en un
utilisateur quelconque (voir SYSTEM).
6.1.1.B.2 - Les dénis de
service :
6.1.1.B.2.a - Débordement de
tampon :
Un certain nombre de failles basées sur des phénomènes
de débordement de tampon sont régulièrement
découvertes sur les systèmes Windows NT. Un débordement de
tampon se produit lorsqu’un logiciel ne contrôle pas correctement
les entrées qu’il reçoit. Les programmeurs de logiciels
attribuent habituellement aux tampons d’entrée sortie une taille
arbitraire assez élevée et présument qu’aucun
utilisateur n’aura besoin de davantage de place. Quand les données
saisies sont plus volumineuses que l’espace qui leur est
réservé, un dépassement survient. S’il s’agit
d’informations insignifiantes, le programme se contentera de
s’arrêter. En revanche, en envoyant une série de
données soigneusement sélectionnées, un attaquant peut
orienter le déroulement normal du programme en vue de faire
exécuter le code de son choix.
6.1.1.B.2.b - Déni de
service :
Les principales failles des systèmes Windows NT permettant le
déclenchement d’un déni de service sont à
l’heure actuelle comblées.
6.1.1.B.3 - Recherche d’informations
présentes sur d’autres serveurs :
6.1.1.B.3.a - Décryptage des comptes de
sécurité :
Il existe un certain nombre d’outils permettant le décryptage
des comptes de sécurité d’un domaine de comptes. Un domaine
de comptes regroupe dans une architecture Windows NT l’ensemble des
comptes utilisateurs d’une zone donnée. Cette base de comptes peut
être obtenue :
- par l’installation de chevaux de Troie sur un contrôleur de
domaine ;
- par l’entremise de la console de réparation Windows
NT ;
- par l’espionnage des mots de passe transitant sur le
réseau.
6.1.1.B.3.b - Analyse de la base de registre
:
Windows NT présente une grave faille de
sécurité : ce système d’exploitation stocke dans
sa base de registre les informations confidentielles suivantes :
- les mots de passe de service en clair (les comptes de services sont requis
par des logiciels qui doivent se connecter dans le contexte d’un
utilisateur local pour effectuer certaines tâches) ;
- les mots de passe hachés des dix derniers utilisateurs à
s’être connecté sur la machine ;
- les mots de passe des serveurs FTP et Web en clair ;
- les noms de compte et mots de passe des accès distants (RTC ou
RNIS).
6.1.1.B.3.c - La recherche de mots de passe
transitant sur le réseau :
Les systèmes Windows NT font transiter le mot de passe des
utilisateurs de manière chiffrée sur le réseau. La
faiblesse du hachage utilisé (essentiellement due à une
segmentation du hachage en trois petites portions attaquables une à une)
combinée à une attaque par force brute (utilisation de
chaînes aléatoires) permet de retrouver en quelques jours
l’ensemble des mots de passe des utilisateurs connecté à un
réseau local. Le mécanisme d’une attaque par force brute
peut être résumé par le schéma
suivant :
Figure 11 : Le mécanisme
d'une attaque par force brute
6.1.1.B.3.d - Chevaux de Troie :
De nombreux chevaux de Troie existent permettant d’installer des
portes dérobées sur les systèmes d’exploitation
Windows NT. Les plus connus sont :
- Les chevaux de Troie déposés à l’aide de
l’outil netcat ;
- Back Orifice ;
- NetBus ;
- BackOrifice 2000 ;
Ces outils permettent
l’accès à l’ensemble des ressources du poste de
travail attaqué.
6.1.1.B.3.e - Réacheminement de
port :
Il existe une autre vulnérabilité du système
d’exploitation Windows NT. Il s’agit du mécanisme de
réacheminement de port qui permet de rediriger tout le trafic d’un
port IP donné vers un autre port et utilisé par des outils comme
netcat, rinetd ou fpipe.
Le principe du réacheminement de port peut
être représenté par le schéma
ci-dessous :
Figure 12 : Le principe du
réacheminement de port
6.1.1.B.4 - L’effacement des traces
d’effraction :
Il existe de nombreuses manières d’effacer les traces
d’effraction sur un système Windows NT :
- désactivation des mécanismes d’audit ;
- purge du journal des événements ;
- masquage de fichiers : le système de gestion de fichiers de
Windows NT (NTFS) et sa fonction de flux (streaming) permet d’ajouter
des attributs ou des informations supplémentaires à un fichier
sans avoir à restructurer le système de fichiers. Ce
mécanisme peut être très facilement utilisé pour
dissimuler des programmes malveillants au sein de fichiers d’apparence
inoffensive.
6.1.1.C - Le système d’exploitation
Windows 2000 :
La refonte radicale du système d’exploitation Windows 2000 par
rapport à son ancêtre Windows NT a permis de boucher un grand
nombre de failles de sécurité. Une station Windows 2000
configurée avec intelligence devient relativement difficile à
percer. Il existe néanmoins un certain nombre de
vulnérabilités notamment applicatives. Ces
vulnérabilités peuvent être classées en trois grandes
catégories :
- les vulnérabilités permettant la découverte de mots de
passe ;
- les vulnérabilités permettant les dénis de service
;
- les vulnérabilités permettant l’effacement des traces
d’effraction.
6.1.1.C.1 - Découverte des mots de
passe :
6.1.1.C.1.a - Espionnage des mots de passe
transitant sur le réseau :
Dans un souci de compatibilité avec les systèmes
d’exploitation existants, Windows 2000 permet l’authentification
NTLM (méthode d’authentification utilisée par Windows NT)
lorsque l’authentification Kerberos (méthode
d’authentification native de Windows 2000) n’a pu être
effectuée. Les méthodes décrites dans le paragraphe
6.1.1.B.3.c - sont alors efficaces.
6.1.1.C.1.b - Obtention des mots de
passe :
Dans un souci de compatibilité avec systèmes
d’exploitation existants, Windows 2000 stocke par défaut les mots
de passe hachés suivant la méthode utilisée par Windows NT.
L’ensemble des méthodes décrites dans le paragraphe
6.1.1.B.1 - est donc efficace.
6.1.1.C.1.c - Analyse de la base de registre
:
A l’instar de Windows NT, Windows 2000 présente toujours une
grave faille de sécurité : ce système
d’exploitation stocke dans sa base de registre les informations
confidentielles suivantes :
- les mots de passe de service en clair (les comptes de services sont requis
par des logiciels qui doivent se connecter dans le contexte d’un
utilisateur local pour effectuer certaines taches) ;
- les noms de compte et mots de passe des accès distants (RTC ou
RNIS) ;
6.1.1.C.2 - Déni de service :
Tout en bénéficiant de l’expérience de Windows
NT, un certain nombre de failles applicatives peuvent encore être
exploitées pour effectuer un déni de service sous Windows
2000.
6.1.1.C.3 - L’effacement des traces
d’effraction :
Les méthodes fonctionnant sous environnement Windows NT fonctionnent
également (la plupart des outils exploitant les failles décrites
ont une version adaptée pour Windows 2000).